package com.srwl.mytx.service;


import com.srwl.mytx.domain.CommonResult;

import java.util.Map;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;

public interface LiveService {

    @POST("/live/createLiveRoom")
    Call<CommonResult> createLiveRoom(@Body Map<String, Object> info);

    @POST("/live/deleteLiveRoom")
    Call<CommonResult> deleteLiveRoom(@Body Map<String, Object> info);

    @POST("/live/updateLiveRoom")
    Call<CommonResult> updateLiveRoom(@Body Map<String, Object> info);

    @POST("/live/queryLiveRoom")
    Call<CommonResult> queryLiveRoom(@Body Object body);

    @GET("/live/queryLiveRoom_v1/{liveRoomId}")
    Call<CommonResult> queryLiveRoom_v1(@Path("liveRoomId") String liveRoomId);

    @POST("/live/startLive")
    Call<CommonResult> startLive(@Body Object body);

    @POST("/live/stopLive")
    Call<CommonResult> stopLive(@Body Object body);

    @POST("/live/forbid_live")
    Call<CommonResult> forbidLive(@Body Object body);

    @POST("/live/open_live")
    Call<CommonResult> openLive(@Body Object body);

    @POST("/live/managerStopLive")
    Call<CommonResult> managerStopLive(@Body Object body);

    /**
     * 结算直播打赏收益
     *
     * @param body
     * @return
     */
    @POST("/live/handleLiveProfit")
    Call<CommonResult> handleLiveProfit(@Body Object body);

    @POST("/live/reward")
    Call<CommonResult> reward(@Body Object body);

    @POST("/live/mulct")
    Call<CommonResult> mulct(@Body Object body);

    @POST("/live/getChannelUsersInfo")
    Call<CommonResult> getChannelUsersInfo(@Body Object body);

    @POST("/live/get_channel_user_info")
    Call<CommonResult> getChannelUsersInfo_v1(@Body Object body);

    /**
     * 查询聊天室列表
     *
     * @param body
     * @return
     */
    @POST("/live/getLiveRoom")
    Call<CommonResult> getLiveRoom(@Body Object body);

    @POST("/live/createLiveRecord")
    Call<CommonResult> createLiveRecord(@Body Map<String, Object> info);

    @POST("/live/updateLiveRecord")
    Call<CommonResult> updateLiveRecord(@Body Map<String, Object> info);

    @POST("/live/getLiveRecord")
    Call<CommonResult> getLiveRecord(@Body Map<String, Object> info);


    /**
     * 查询主播发布的商品：普通商品和拍卖商品
     *
     * @param body
     * @return
     */
    @POST("/live/queryAnchorGoods")
    Call<CommonResult> queryAnchorGoods(@Body Object body);


    /**
     * 查询礼物
     */
    @GET("/live/getPresent")
    Call<CommonResult> getAllPresent();

    /**
     * 举报直播
     */
    @POST("/live/live_accusation")
    Call<CommonResult> liveAccusation(@Body Object body);

    /**
     * 提交直播错误报告
     */
    @POST("/live/live_error_report")
    Call<CommonResult> liveErrorReport(@Body Object body);

}
